SABRE Server
The Secure Asynchronous Batch and Reactive Execution - or SABRE - Server provides an execution framework for all non-interactive CMP
Converged Monetisation Platform. The MDS Global product that supports customer care and billing for digital service providers. functional modules. The framework automatically handles common technical complexities such as scalability, logging, monitoring and connectivity in the background such that each functional module can be independent, as simple as possible and concentrate on addressing functional requirements.
The SABRE Server is based on Spring Batch and uses Hazelcast for in-memory storage and communication to distribute processing. Multiple instances of the SABRE Server, or nodes, can be installed in which case they form a cluster distributing processing load to provide horizontal scalability. In its simplest form, each node provides technical infrastructure but contains no functional modules.
SABRE Server Processing Architecture Overview
SABRE Functional Modules
SABRE modules are added into the SABRE server to implement functionality and, if required, can be configured to have affinity to only one or more specific nodes in the cluster.
Each functional SABRE module is made up of the following elements:
- A job that implements the functionality and can be executed by the SABRE server based on a schedule, manually on demand or as a result of a trigger event.
- Probes that provide functional monitoring of a job’s health. Each probe
In the Administration Console architecture, a mechanism which allows for the execution of predefined queries and for the comparison of the results of those queries against pre-configured targets. Probes can be reviewed and managed via the Admin Console. is very specific to the functionality of the job it is monitoring, for example indicating whether inputs have been received as frequently as expected or the percentage of rejections is within an acceptable tolerance. Probes can generate notifications for operators via either the SABRE console or email alerts. - A daemon
A computer program that runs as a background process, rather than being under the control of an interactive user. that performs a specific lightweight task, such as moving a file or triggering the job to execute. If required, one or more daemons are run; constantly listening for changes within the environment, for example a status change to a database record, or a file dropped to a directory.
A set of SABRE functional modules providing CMP product functionality are included in all SABRE Server installations.
All data extracted from or loaded into CMP, via a product SABRE Job, must be in the documented file format, in the majority of cases represented by a JSON schema
A specification for JSON based format for defining the structure of JSON data., as described in the CMP Batch Jobs and JSON Schemas Guide.
Adapters can either be delivered as a core part of CMP, or delivered by MDS Global Professional Services as part of a customer
In the context of the Cloud Monetisation Platform, an individual or organisation who has signed an agreement to take goods and services from a service provider. A customer receives a bill associated with one or more subscriptions, and can be a single end user or a large company with many subscriptions assigned to one agreement. specific project implementation. In each case, the external published interface of the relevant SABRE job is the input/output.
CMP Product and Third Party Functional Modules in a SABRE server